const webpack = require('webpack')
const { merge } = require('webpack-merge')
const commonConfig = require('./webpack.common')
const devConfig = {
    //打包环境
    //production：压缩代码
    //development：不压缩代码
    mode: 'development',
    //cheap-仅限行  module-第三方包的错误也映射 eval-直接引用源代码  速度最快
    devtool: 'cheap-module-eval-source-map',//development：不压缩代码
    // devtool: 'cheap-module-source-map',//production：压缩代码
    devServer: {
        contentBase: './dist',
        //自动打开浏览器
        open: true,
        port: 8080,
        // 开启Hot Module Replacement
        hot: true,
        // 即便hmr的功能没有生效，浏览器也不要自动刷新
        // if(module.hot) {
        //     module.hot.accept('./test.js', () => {
        //         // 当模块发生变动执行当前方法  配合hotOnly在业务代码里面使用
        //     })
        // }
        // hotOnly: true,
        proxy: {
            "/api": "http://localhost:3000"
        }
    },
    plugins: [
        new webpack.HotModuleReplacementPlugin(),
        new webpack.DefinePlugin({
          'process.env': require('../config/dev.env')
        }),
    ],
    optimization: {
        usedExports: true
    }
}
module.exports = merge(commonConfig, devConfig)